home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / program / passmsrc.arc / passm.doc next >
Text File  |  1989-02-04  |  5KB  |  137 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.      _✓I_✓n_✓t_✓r_✓o_✓d_✓u_✓c_✓t_✓i_✓o_✓n
  9.  
  10.              Passm, a PAL Assembler,  allows  the  user  to  write  boolean
  11.      equations  describing  the outputs of a PAL and generates a JEDEC fuse
  12.      file. This assembler supports most 20 and 24 pin PALs. Currently,  the
  13.      list of parts supported are:
  14.  
  15.  
  16.                  20 Pin PALs             24 Pin PALs
  17.                  ------------            -----------
  18.                   10L8, 10H8               12L10
  19.                   12L6, 12H6               14L8
  20.                   14L4, 14H4               16L6
  21.                   16L2, 16H2               18L4
  22.                   16L8                     20L2
  23.                   16R4                     20L10
  24.                   16R6                     20L8
  25.                   16R8                     20R4
  26.                                            20R6
  27.                                            20R8
  28.                                            22V10
  29.  
  30.  
  31.      The sources for PASSM are included so that customizing for  additional
  32.      parts  can be done. The program has been writen in Pascal and conforms
  33.      with ISO Pascal, except for two areas. One, it  uses  the  'otherwise'
  34.      descriptor for the CASE statements, and two, it uses packed arrays.
  35.  
  36.              The following is a description of PASSM syntax.
  37.  
  38.      _✓1.  _✓L_✓a_✓n_✓g_✓u_✓a_✓g_✓e _✓D_✓e_✓s_✓c_✓r_✓i_✓p_✓t_✓i_✓o_✓n
  39.  
  40.              Before describing the syntax for PASSM, let  us  go  thru  the
  41.      notation  used  in  describing the language. When showing a PASSM key-
  42.      word, it will be enclosed using angle brackets, > and <  .  The  ASCII
  43.      string  enclosed  within these bracket must always appear in such form
  44.      (ie. use the indicated case, as well as spaces, etc.).  When  a  given
  45.      portion,  or  section,  is optional, it will be enclosed with { and }.
  46.      With this in mind, let us start.
  47.  
  48.              A PASSM source file  consists  of  three  main  sections,  all
  49.      enclosed  within a module description.  These three sections are: one,
  50.      the device specification (ie. what type of PAL), two, a pin list  (ie.
  51.      symbolic  names  to  be  attached to a particular pin), and three, the
  52.      equations section (ie. a boolean description of a given output).   All
  53.      comments in PASSM start with a double quote >"< and are assumed to end
  54.      with the end of line terminator (ie.  carriage  return).  Also,  valid
  55.      PASSM delimiters are tabs or space characters.
  56.  
  57.              Every source file MUST have  a   'module'  declaration.   This
  58.      module  declaration informs PASSM that it must start assembling a par-
  59.      ticular PAL description. A module declaration consists of the  follow-
  60.      ing:
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.      Passm                                                           Manual
  72.  
  73.  
  74.           >module< module_name{;}   {optional_sections}
  75.             device_type_declaration
  76.             pin_list_section
  77.             boolean_equations
  78.           >end<
  79.  
  80.  
  81.      The module_name is an identifier, no more than  15  characters,  which
  82.      must  start with a letter. The set of valid characters for an identif-
  83.      ier is : a..z, A..Z, underscore '_', and the minus  sign  '-'.  Notice
  84.      that the semicolon ending the module name is optional.
  85.  
  86.              The next element within a module is the optional_section. This
  87.      section  is being reserved for future features, such as flags indicat-
  88.      ing what type of reduction to do with the boolean  equations,  include
  89.      files, etc. At the present time, no optional features are enabled.
  90.  
  91.              The next section is the device_type_declaration. This  section
  92.      informs PASSM as to what type of device is being targeted, ie. a 16r4,
  93.      etc. This section syntax is as follows:
  94.  
  95.  
  96.            device_name  >device<  >'<part_type>';<
  97.  
  98.  
  99.      The device_name, an identifier, is the symbolic name  with  which  the
  100.      user  may  refer  to the PAL. The part_type is the actual device being
  101.      programmed.  The following is the list of available devices:
  102.  
  103.  
  104.                  20 Pin Pals     24 Pin Pals
  105.                  -----------     -----------
  106.                  p10l8, p10h8     p12l10
  107.                  p12l6, p12h6     p14l8
  108.                  p14l4, p14h4     p16l6
  109.                  p16l2, p16h2     p18l4
  110.                  p16l8            p20l2
  111.                  p16r4            p20l10
  112.                  p16r6            p20l8
  113.                  p16r8            p20r4
  114.                                   p20r6
  115.                                   p20r8
  116.                                   p22v10
  117.  
  118.  
  119.      Notice that the part_type must appear as shown above.
  120.  
  121.              The next section in a module description is the pin list. This
  122.      section provides a symbolic reference between the signal names used in
  123.      the equations, and the device physical pins. The syntax followed is:
  124.  
  125.  
  126.           signal_name {, signal_name}  >pin< pin_numbers >;<
  127.  
  128.  
  129.                                      Page 2
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.